home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / utils / desktop / nodsk301.lzh / ARCDRV / WARC.H < prev   
C/C++ Source or Header  |  1994-12-07  |  3KB  |  92 lines

  1. /*==================================================================*/
  2. /*                                                                    */
  3. /*                    noDesk - Der no|Soft-Desktop                     */
  4. /*                                                                    */
  5. /*                            Version 3.0                                */
  6. /*                                                                    */
  7. /*                         written 1989-1993 by                        */
  8. /*          Andreas Fahrig   Ralph Mertens    Christian Stamm            */
  9. /*                                                                  */
  10. /*         (c)1989-92 by DesaSoft GbR, all Rights reserved            */
  11. /*         (c)1993    by no|Soft GmbH, all Rights reserved            */
  12. /*                                                                  */
  13. /*==================================================================*/
  14. /*                                                                  */
  15. /*            Dies ist die WARC-Definitions-Datei                     */
  16. /*                                                                  */
  17. /*==================================================================*/
  18.  
  19. #ifndef MAXPATHLEN
  20. # define MAXPATHLEN    128
  21. #endif
  22.  
  23. #define WARC_MAGIC        "noDeskAr"
  24.  
  25. #if !defined(IN_LSWIND)
  26. # define Obj_Types        void
  27. # define OBJECT            void
  28. #endif
  29.  
  30.  
  31. /*
  32.  *     EXIT - Codes der Treiber
  33.  */
  34. #define DE_OK            0        /* Konvertierung erfolgreich            */
  35. #define DE_BADFILE        2        /* falscher Datei-Typ                    */
  36. #define DE_TOOMUCH        1        /* zu viele Dateien im Archiv            */
  37. #define DE_DRERROR        3        /* Fehler im Treiber                    */
  38. #define DE_TXTERROR        4        /* Fehler Text in buf                    */
  39.  
  40. typedef struct {
  41.     unsigned char        attrib;        /* Datei-Attribute                    */
  42.     unsigned char        level;        /* Ordnertiefe (ROOT = 0)            */
  43.     int                    ref_no;        /* bei level>0 physcnt des Vaters,    */
  44.                                     /* sonst 0                            */
  45.     int                    physcnt;    /* Laufende Nummer ab 1                */
  46.     char                fname[14];    /* Dateiname                        */
  47.     Time_Date            t_d;        /* Datei-Datum und -Zeit            */
  48.     unsigned long        orig_len;    /* Dateigröße entpackt                */
  49.     unsigned long        packed_len;    /* Dateigröße gepackt                */
  50.  
  51.     /* Alle folgenden Elemente sind nur für noDesk relevant und sollten    */
  52.     /* daher von Treibern ignoriert werden                                */
  53.     char                suffix[4];
  54.     bool                sel;
  55.     unsigned            flags;
  56.     OBJECT                *obP;
  57.     Obj_Types            *otP;
  58. } Warc_File;
  59.  
  60. typedef struct {
  61.     char        magic[8];            /* muß WARC_MAGIC sein            RO    */
  62.     char        *arc_name;            /* Datei-Name des Archivs        RO    */
  63.     char        *bin_dirs;            /* Bin-Dir-Liste                RO    */
  64.     char        *tmp_dir;            /* Tmp-Dir                        RO    */
  65.     int            buf_size;            /* Größe des Puffers in Elems    RW    */
  66.     Warc_File    *buf;                /* Pointer auf den Puffer        WO    */
  67. } Warc_Info;
  68.  
  69. /*
  70.  *    RO:        ReadOnly    Der Treiber darf nur lesend zugreifen
  71.  *    RW:        ReadWrite    Werte, die geändert werden dürfen, bzw. müssen
  72.  *    WO:        WriteOnly    Speicherbereiche, in die der Treiber schreiben
  73.  *                        kann und die initial keine Werte enthalten
  74.  *
  75.  *    Näheres zu Warc_Info:
  76.  *        bin_dirs    zeigt auf Pfade (durch ';' getrennt), in der,
  77.  *                    wenn nötig, das Archivprogram stehen muß
  78.  *        tmp_dir        zeigt auf einen Pfad, welcher bei Verwendung von
  79.  *                    Temporärdateien verwendet werden muß
  80.  *        buf_size    enthält bei Treiberstart die Anzahl an Warc_File
  81.  *                    Einträgen, referenziert über buf. Bei erfolgreichem
  82.  *                    Ende schreibt der Treiber dort die Anzahl an
  83.  *                    gefundenen Einträgen hinein.
  84.  *        buf            ist ein Pointer auf einem Puffer von max.
  85.  *                    buf_size Warc_File-Einträgen.
  86.  */
  87.  
  88. #if !defined(IN_LSWIND)
  89. # undef Obj_Types
  90. # undef OBJECT
  91. #endif
  92.